<template>
  <div style="padding: 10px">
    <!--    功能区域-->
    <div style="margin: 10px 0">

      <el-button type="primary" @click="add">新增</el-button>


    </div>

    <!--    搜索区域-->
    <div style="margin: 10px 0">
      <el-input placeholder="请输入关键字" style="width: 20%" v-model="search" clearable></el-input>
      <el-button type="primary" style="margin-left: 5px" @click="load">搜索</el-button>
    </div>

    <el-table :data="tableData" stripe style="width: 100%">
      <el-table-column prop="id" label="ID" sortable></el-table-column>




      <el-table-column prop="type" label="分类名称"></el-table-column>



      <el-table-column fixed="right" label="操作" width="100">
        <template #default="scope">
          <el-button @click="handleEdit(scope.row)" type="text">编辑
          </el-button>
          <el-popconfirm title="确认删除？" @confirm="handleDelete(scope.row.id)">
            <template #reference>
              <el-button type="text" style="color: crimson" >删除</el-button>
            </template>
          </el-popconfirm>

        </template>
      </el-table-column>
    </el-table>
    <div style="margin: 10px 0">
      <div class="block">

        <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="currentPage"
            :page-sizes="[5, 10, 20]"
            :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total"
        >
        </el-pagination>

        <el-dialog title="添加" v-model="dialogVisible"
                   width="30%">
          <el-form :model="form" lable-width="120px" ref="form" label-width="80px">



            <el-form-item label="类别">
              <el-input v-model="form.type" style="width:75% "></el-input>
            </el-form-item>



          </el-form>

          <template #footer>
    <span class="dialog-footer">
      <el-button @click="dialogVisible = false">取 消</el-button>
      <el-button type="primary" @click="save ">确 定</el-button>
    </span>
          </template>
        </el-dialog>

      </div>
    </div>

  </div>
</template>

<script>


import request from "../../utils/request";

export default {
  name: 'GoodsTypeManage.',

  components: {},
  data() {
    return {
      form: {},
      dialogVisible: false,
      search: '',
      currentPage: 1,
      pageSize:10,
      total: 0,
      tableData: [



      ]
    }
  },
  created(){
    this.load()


  },
  methods: {

    fileSuccessUpload(res){
      console.log(res)
      this.form.cover = res.data

    },

    load(){
      request.get("/goodsType/selectType",{
        params:{
          pageNum:this.currentPage,
          pageSize:this.pageSize,
          search:this.search}
      }).then(res =>{


        this.tableData = res.data.records
        this.total = res.data.total
      })
    },


    add() {
      this.dialogVisible = true
      this.form = {}
      this.$refs['upload'].clearFiles() //清除历史上传文件

    },
    save(){
      if(this.form.id){
        //更新
        request.put("/goodsType/update",this.form).then(res =>{
          console.log(res)
          if(res.code ==='0'){
            this.$messageBox({

              type:"success",
              message:"更新成功"
            })
          }else {
            this.$messageBox({

              type:"error",
              message:res.msg
            })
          }
          this.load()//刷新表格数据
          this.dialogVisible = false //关闭弹窗

        })

      }else {//添加
        request.post("/goodsType/addType",this.form).then(res => {
          console.log(res)
          if(res.code ==='0'){
            this.$messageBox({

              type:"success",
              message:"添加成功"
            })
          }else {
            this.$messageBox({

              type:"error",
              message:res.msg
            })
          }
          this.load()//刷新表格数据
          this.dialogVisible = false   //关闭弹窗
        })
      }


    },

    handleDelete(id){
      console.log(id)

      request.delete("/goodsType/" + id ,this.form).then(res =>{
            if( res.code ==='0'){

              this.$messageBox({

                type:"success",
                message:"删除成功"
              })

            }else {
              this.$messageBox({

                type:"error",
                message:res.msg
              })

            }
            this.load()
          }
      )


    },
    handleEdit(row) {
      this.form = JSON.parse(JSON.stringify((row)))
      this.dialogVisible=true
      this.$nextTick(() =>{
        this.$refs['upload'].clearFiles() //清除历史上传文件

      } )

    }, handleSizeChange( pageSize) { //改变页面显示信息个数
      this.pageSize = pageSize
      this.load()

    }, handleCurrentChange(pageNum) { //改变当前页
      this.currentPage = pageNum
      this.load()
    },


  }
}
</script>
